第4节 藏头诗,对对联—循环神经网络
RNN(Recurrent Neural Network)是一类用于处理序列数据的神经网络。首先我们要明确什么是序列数据,摘取百度百科词条:时间序列数据是指在不同时间点上收集到的数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。这是时间序列数据的定义,当然这里也可以不是时间,比如文字序列,但总归序列数据有一个特点——后面的数据跟前面的数据有关系。
练习:利用循环神经网络生成古诗词
1. 训练(可跳过)
2. 生成藏头诗
本地练习(选做)
1.打开项目文件夹learn-ai/codes/chapter2/part4_RNN/01_PoetAI
其中,
poetry.txt
内包含了大量的古诗词
poet_rnn.py
用来训练模型
poet_rnn_outpu.py
用来生成古诗词
2.打开Anaconda Prompt,执行:
conda activate learn-ai
python poet_rnn.py
执行后将会开始进行模型训练。
3.待模型训练完毕后,会在当前目录下生成模型文件poetry.module-49
使用VS Code编辑器打开poet_rnn_output.py
,在最后一行:
print(gen_poetry_with_head_and_type("深度学习", 7))
将会生成以深度学习
四个字开头的七言藏头诗。尝试将文字替换为其他,7可以替换为5,即生成五言诗。保存后执行:
python poet_rnn_output.py